Remote eye and gaze tracking systems have been implemented in various applications to track a user's eye movements and/or the direction in which the user is looking. The range of such applications extends from serious (e.g., airport security systems) to playful (e.g., video game avatar renderings). Typical eye tracking systems may use various technologies to track a user's eye movements. For example, in some implementations, infrared sensors are used to detect reflections from a person's retina/cornea.
Digital cameras have become ubiquitous consumer devices, often incorporated in other digital electronic devices such as smartphones, tablets, and other computing devices. Typical digital cameras include an image sensor, such as a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) image sensor, which may be formed by an array of individual pixel sensors. Depending on the type of digital camera, the associated image sensor may be operated in a global shutter mode or a rolling shutter mode. In a global shutter camera, the entire array of individual pixel sensors exposed and captured during the same time window. Conversely, in a rolling shutter camera, portions of the array of pixel sensors are captured at different times. However, because the entire image is not captured at the same point in time in a rolling shutter camera, the captured image may be distorted due to various phenomena. For example, rapid movement or lighting changes may result in artifacts appearing in the generated image. Additionally, the sensor readout time can be substantially longer than the ideal exposure time. However, rolling shutter cameras oftentimes benefit from improved image quality and reduced cost relative to global shutter cameras.
In operation, a rolling shutter camera captures images (e.g., as video frames) by consecutively reading out rows or columns of pixels sensors (“sensor lines”) of the associated image sensor. Each sensor line is read on a sequential, rolling basis. Similarly, the sensor lines are reset on a rolling, sequential basis prior to readout. Specifically, each sensor line is reset (i.e., any stored information is discarded) a predetermined amount of time prior to the readout time for that sensor line such that each sensor line is exposed for the same amount of time following reset. The overall number of sensor lines of a given image sensor typically defines the resolution of the associated camera (i.e., a greater number of sensor lines result in a higher resolution image).